import Utils from './common.js'
const Validator= {

  isEmpty: function (val) {
    if (!Utils.trim(val)||val==='undefind'||val===null) {
      return true;
    } else {
      return false;
    }
  },
  /**
   * 判断是否为空对象
   * @param obj
   * @returns {boolean}
   */
  isEmptyObject:function (obj) {
    for (var key in obj) {
      return false;
    }
    return true;
  },
  /**
   * 判断是否为null
   * @param obj
   * @returns {boolean}
   */
  isNullObj: function (obj){
    for(var i in obj){
      if(obj.hasOwnProperty(i)){
        return false;
      }
    }
    return true;
  },
  isMobile: function (val) {
    if (/^[0-9]{11}$/.test(val)) {
      return true;
    } else {
      return false;
    }
  },

  isCardID: function (card) {

    var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
    if (reg.test(card)) {
      return true;
    } else {
      return false;
    }
  },

  isEmail:function (email) {

    var reg = new RegExp("^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$");
    if (reg.test(email)) {
      return true;
    } else {
      return false;
    }
  },

  isvalidUsername: function (str) {
    const valid_map = ['admin', 'editor']
    if(str.trim().length>=3){

    }
    return valid_map.indexOf(str.trim()) >= 0
  },

  /* 合法uri*/
  isURL:  function (textval) {
    const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
    return urlregex.test(textval)
  },

  /* 小写字母*/
  isLowerCase:  function (str) {
    const reg = /^[a-z]+$/
    return reg.test(str)
  },

  /* 大写字母*/
  isUpperCase:  function (str) {
    const reg = /^[A-Z]+$/
    return reg.test(str)
  },

  /* 大小写字母*/
  isAlphabets:function(str) {
    const reg = /^[A-Za-z]+$/
    return reg.test(str)
  }

}

export default Validator
